package com.ruoyi.house.service;

import com.ruoyi.house.domain.HouseInfoEntity;
import com.ruoyi.house.domain.RoomInfoEntity;
import com.ruoyi.house.dto.request.PageTbRoomInfoJzRequestDTO;
import com.ruoyi.house.dto.request.PageTbRoomInfoRequestDTO;
import com.ruoyi.house.dto.response.DetailTbRoomResponseDTO;

/**
 * @Title: TbRoomInfoService
 * @Description: 房态service
 * @author zhangxurui
 * @date 2018年4月21日 下午2:46:25
 */
public interface TbRoomInfoService {

	/**
	 * 
	 * @Description: 分页 - 分散式
	 * @param dto
	 * @return PageTbRoomInfoRequestDTO
	 */
	PageTbRoomInfoRequestDTO pageListTbRoom(PageTbRoomInfoRequestDTO dto);

	/**
	 *
	 * @Description: 查询 - 房源详情
	 * @return RoomInfoEntity
	 */
	DetailTbRoomResponseDTO getRoomInfoDetailById(String roomId, Long beforeCfContractId);

	/**
	 *
	 * @Description: 分页 - 集中式
	 * @param dto
	 * @return PageTbRoomInfoJzRequestDTO
	 */
	PageTbRoomInfoJzRequestDTO pageListTbRoomByZj(PageTbRoomInfoJzRequestDTO dto);

	/**
	 * 
	 * @Description: 修改 - 房源
	 * @param entity
	 *            void
	 */
	void UpdateTbRoomInfo(RoomInfoEntity entity);

	/**
	 * 
	 * @Description: 查询 - 房源
	 * @param id
	 * @return RoomInfoEntity
	 */
	RoomInfoEntity getRoomInfoById(String id);

	/**
	 * 
	 * @Description: 查询 - 房产
	 * @param id
	 * @return HouseInfoEntity
	 */
	HouseInfoEntity getHouseInfo(String id);

	/**
	 * 
	 * @Description: 修改 - 房产
	 * @param entity
	 *            void
	 */
	void updateHouse(HouseInfoEntity entity);

}
